<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 给定一个数组arr，编写一个函数getMaxProfit（arr），返回在数组中买入和卖出股票的最大利润。
    // 例如：
    // getMaxProfit([7, 1, 5, 3, 6, 4]); // 返回5，因为在第二天买进（价格为1）并在第五天卖出（价格为6）可以获得最大利润5
    // getMaxProfit([7, 6, 4, 3, 1]); // 返回0，因为在这种情况下不进行任何交易可以获得最大利润0
    // 提示：可以使用循环和条件语句来实现。

    function getMaxProfit(arr) {
      let minPrice = Infinity; // 初始化买入价格为正无穷大
      let result = 0 //利润
      for (let i = 0; i < arr.length;i++) {
        if (arr[i] < minPrice) { // 第一次必进入，后边不一定
          minPrice = arr[i] // 更新买入价格
        } else {
          let tempResult = arr[i] - minPrice
          if (tempResult > result) { // 更新最大利润
            result = tempResult
          }
        }
      }
      return result
    }

    // function getMaxProfit(arr) {
    //   let minPrice = Infinity; // 初始化买入价格为正无穷大
    //   let maxProfit = 0; // 初始化最大利润为0
    //   for (let i = 0; i < arr.length; i++) {
    //     if (arr[i] < minPrice) { // 更新买入价格
    //       minPrice = arr[i];
    //     } else {
    //       let profit = arr[i] - minPrice; // 计算当前价格与买入价格的差值
    //       if (profit > maxProfit) { // 更新最大利润
    //         maxProfit = profit;
    //       }
    //     }
    //   }
    //   return maxProfit;
    // }

    console.log(getMaxProfit([1, 5, 3, 6, 7, 4]));
  </script>
</body>

</html>